package com.tengju.bff.interfaces.manage.star.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.tengju.bff.interfaces.shared.MobileVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

@Data
@ApiModel(value = "UserStarLevelDetailVO", description = "服务商基本信息对象")
public class UserStarLevelDetailVO implements Serializable {

    /** */
    private static final long serialVersionUID = 1L;
    
    @ApiModelProperty("用户主键id")
    private Long userId;
    
    @ApiModelProperty("用户编号idCode")
    private Long idCode;
    
    @ApiModelProperty("用户手机号码")
    private MobileVO mobile;
    
    @ApiModelProperty("用户昵称")
    private String nickName;
    
    @ApiModelProperty("姓名")
    private String name;
    
    @ApiModelProperty("是否已发邀请 true:已发邀请，false:没有邀请")
    private Boolean hasInviteFlag;

    @ApiModelProperty("当前星级类型 0：无 100：服务商 200：运营商")
    private Integer starRole;

    @ApiModelProperty("审核前星级类型 0：无 100：服务商 200：运营商")
    private Integer originStarRole;

    @ApiModelProperty("目标星级类型 0：无 100：服务商 200：运营商")
    private Integer targetStarRole;
    
    @ApiModelProperty("当前星级 0：无 10：城市服务商1星，20：城市服务商2星，30：城市服务商3星，40：城市服务商4星  50：EC，60：SEC, 70: EEC")
    private Integer starLevel;
    
    @ApiModelProperty("审核前星级 0：无 10：城市服务商1星，20：城市服务商2星，30：城市服务商3星，40：城市服务商4星  50：EC，60：SEC, 70: EEC")
    private Integer originStarLevel;
    
    @ApiModelProperty("目标星级 0：无 10：城市服务商1星，20：城市服务商2星，30：城市服务商3星，40：城市服务商4星  50：EC，60：SEC, 70: EEC")
    private Integer targetStarLevel;
    
    @ApiModelProperty("星级更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime starUpdateTime;
    
    @ApiModelProperty("审核状态：0:待审核 10:审核通过 20:审核失败")
    private Integer auditStatus;
    
    @ApiModelProperty("合同状态：1：有效，2：无效")
    private Byte agreementStatus;
    
    @ApiModelProperty("合同到期时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime agreementExpireDate;
    
    @ApiModelProperty("邀请类型（1：自动  2：手动）")
    private Byte handleType;
    
    @ApiModelProperty("审核描述")
    private String auditDesc;
    
    @ApiModelProperty("用户状态(10:邀约已发送，20：调查问卷完成 30：支付身份认证完成，40：数据审核完成，45: 考试完成， 50：电子签约完成，60：结束)")
    private Integer nowStatus;

}
